1. Field of the Invention
The present invention relates generally to a content transmission system, and, more particularly, to a method and an apparatus for generating and reproducing an adaptive stream based on a file format.
2. Description of the Related Art
International Organization for Standardization/International Electro-technical Commission (ISO/IEC) 14496-12 defines an ISO base file format as a standard file format used for a multimedia service. The ISO base file format has a flexible and extendable file structure and, thus, serves as a basis for various media file formats. The ISO base file format has a standardized file structure for packaging media resources and metadata and thus has an object-oriented design capable of including various types of media resources and metadata. For example, the Joint Photographic Experts Group (JPEG) 2000 and 3rd Generation Partnership Project (3GPP) file formats are based on the ISO base file format, and the Moving Picture Experts Group (MPEG)-4 file format also corresponds to an extension of the ISO base file format.
Meanwhile, the Audio/Video (A/V) streaming using HyperText Transfer Protocol (HTTP) corresponds to a streaming scheme, which minimizes the burden of the server and depends entirely on the intelligent processing of a client. The client achieves the streaming by using only a partial file transport request or a file transport request of the HTTP. Therefore, in order to adapt to data rate change of the network, files should be compressed at various data rates for the same content and should be previously uploaded in the server. Further, in order to adapt to a change of the network, the entire content file should be divided into proper-sized fragments and the divided fragments should be stored as files. Further, a separate metadata file containing information about a method of sequentially taking such fragmented files and reproducing A/V content from them should be uploaded in the server. An example of such a metadata file is Manifest, which implies, in general, a file providing information relating to a file list. A file used to transmit configuration information and additional information about files, such as time and bandwidth of data constituting content, when content information is transmitted, is referred to as a “Manifest file”. Further, it is possible to previously transmit information relating to the file list to the client so that the client can select a file.
Further, the Manifest provides information on an adaptive stream. For example, the Manifest provides information on the bitrate used for each segment. Therefore, the terminal can choose a proper segment based on the information on the adaptive stream.
However, when content is transmitted after being divided into small units in order to adapt to a changing broadcast environment, a scheme for efficiently transferring the Manifest file is required. Further, a scheme by which a client can find a proper file for reproduction through a file format transmitted from a server, is also required. Additionally, at the time of scheduling in the server, files should be mapped to corresponding segments by referring to different Uniform Resource Locators (URLs), which increases the scheduling load.